export function calculateLayerDataDifference(
  data1,
  data2,
) {
  const result = [];

  // 确保两个数组长度相同
  const maxLength = Math.max(data1.length, data2.length);

  for (let i = 0; i < maxLength; i++) {
    const item1 = data1[i];
    const item2 = data2[i];

    if (!item1 && !item2) {
      continue; // 两个都不存在，跳过
    }

    if (!item1) {
      // 只有data2存在，差值为负值
      result.push({
        name: item2.name,
        volume: (-parseFloat(item2.volume)).toFixed(4),
        volProp: (-parseFloat(item2.volProp)).toFixed(4),
        thickness: (-parseFloat(item2.thickness)).toFixed(4),
        faultNum: -item2.faultNum,
      });
    } else if (!item2) {
      // 只有data1存在，差值为正值
      result.push({
        name: item1.name,
        volume: parseFloat(item1.volume).toFixed(4),
        volProp: parseFloat(item1.volProp).toFixed(4),
        thickness: parseFloat(item1.thickness).toFixed(4),
        faultNum: item1.faultNum,
      });
    } else {
      // 两个都存在，计算差值 (data1 - data2)
      const volumeDiff = parseFloat(item1.volume) - parseFloat(item2.volume);
      const volPropDiff = parseFloat(item1.volProp) - parseFloat(item2.volProp);
      const thicknessDiff =
        parseFloat(item1.thickness) - parseFloat(item2.thickness);
      const faultNumDiff = item1.faultNum - item2.faultNum;

      result.push({
        name: item1.name, // 使用第一个数据的名称
        volume: volumeDiff.toFixed(4),
        volProp: volPropDiff.toFixed(4),
        thickness: thicknessDiff.toFixed(4),
        faultNum: faultNumDiff,
      });
    }
  }

  return result;
}